<!--
 * @FilePath     : /layui/demo/1030.html
 * @Description  : click 菜单项被点击时的回调函数
 * @Date         : 2025-02-20 10:01
 * @Author       : Fang YingGui
 * @LastEditors  : fangyinggui 18715384437@163.com
 * @LastEditTime : 2025-02-20 10:13
-->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>documentName</title>
    <link rel="stylesheet" href="/layui/dist/css/layui.css" />
  </head>
  <body>
    <div class="layui-btn-container">
      <button
        class="layui-btn layui-btn-primary demo-dropdown-align"
        lay-options="{align: 'center'}"
      >
        居中对齐
        <i class="layui-icon layui-icon-down layui-font-12"></i>
      </button>
    </div>

    <script src="/layui/dist/layui.js"></script>
    <script src="/dropdown/common.js"></script>
    <script>
      layui.use(function () {
        var dropdown = layui.dropdown
        // 水平对齐方式
        dropdown.render({
          elem: '.demo-dropdown-align',

          data: [
            {
              title: 'menu item 1',
              id: 100,
            },
            {
              title: 'menu item 2',
              id: 101,
            },
            {
              title: 'menu item 3',
              id: 102,
            },
          ],

          /**
           * @brief: 菜单项被点击时的回调函数
           * @param {*} data:当前所点击的菜单项对应的数据
           * @param {*} othis:当前所点击的菜单项元素对象（是一个jq元素集合）
           * @param {*} event:事件对象2.9.18+
           * @return {*}
           * 【特殊1】this.elem ！！！当前组件绑定的目标元素对象，批量绑定中常用
           * 【特殊2】若返回 false，则点击选项可不关闭面板 --- 2.8+
           */
          click: function (data, othis, event) {
            console.log(1, data)
            /*
            例如：点击第1个选项后
            {
              id: 100,
              title: 'menu item 1',
            }
            */
            console.log(2, othis)
            console.log(3, othis.html()) // 3 '<div class="layui-menu-body-title">menu item 1</div>'
            console.log(4, this.elem) //  button.layui-btn.layui-btn-primary.demo-dropdown-align （就是上面触发下拉组件的按钮）
            console.log(5, event)

            if (data.id === 102) {
              return false // 这里是点击第3个选项不关闭下拉菜单
            }
            /*
            return false;
            */
          },
        })
      })
    </script>
  </body>
</html>
